package cn.fl.customer.service;

import java.util.List;
import java.util.Map;

import cmm.mid.core.framework.page.KeyValueVO;
import cmm.mid.core.framework.page.Pager;
import cn.cmm.base.framework.exception.BaseException;
import cn.fl.customer.vo.CstNpSocialRlVO;
import fl.customer.facade.customer.condition.CstNpSocialRlQueryCondition;
import fl.customer.facade.customer.dto.CstNpSocialRlDTO;

/**
 * @Description: 自然人社会关系信息表 客户端服务层接口
 * @Description: 业务层方法名称前缀：新增：add* 删除：remove* 修改：modify* 查询对象：select* get* 查询集合：search*
 */
public interface ICstNpSocialRlService {
	
	/**
	 * 获取唯一对象
	 * @param id 主键
	 * @return 对象DTO
	 */
	public CstNpSocialRlVO selectById(Long id);
	
	/**
	 * 新增
	 * @param entity
	 * @return
	 */
    public Long add(CstNpSocialRlVO entity) ;

    /**
     * 删除集合
     * @param ids
     * @return
     */
    public boolean removeByIds(List<Long> ids);

    /**
     * 修改
     * @param entity
     * @return
     */
    public boolean modify(CstNpSocialRlVO entity);

    /**
     * 分页查询所有
     * @param page
     * @return
     */
    public Pager searchListPage(Pager page);
    
    /**
     * 客户关系类型<KEY,VALUE>集合
     * @return <KEY,VALUE>集合
     */
    public List<KeyValueVO> searchRlTypCdList();
    
    /**
     * 分页查询所有
     * @param page
     * @return
     */
    public List<CstNpSocialRlDTO> searchList(CstNpSocialRlQueryCondition condition);

    /**
     * @MethodName checkThreeElements
     * @Description: 校验三要素信息
     * @Author: wangpengtao@lionbridgecapital.cn
     * @CreateDate: 2019/6/19 19:11
     * @Version: V1.0.0
     * @Param cstNm
     * @Param certNo
     * @Param mp
     * @Return java.lang.Boolean
     * @UpdateRemark [序号][YYYY-MM-DD] [更改人姓名][变更描述]
     */
    public Boolean checkCustThreeElements(String cstNm,String certNo,String mp) throws BaseException;
	
}
